var untils = {

	//微信分享
	// weChatConfig : function(url , txt){
	// 	$.ajax({
	//         type: "GET",
	//         contentType: "application/json",
	//         async: false,
	//         data:{url:window.location.href},
	//         url: "http://weixin.gzl.cn/jssdkconfig/getConfig.json",
	//         success: function (data) {
	//         	console.log(data);
	//         	wx.config({
	// 			    debug: false, 
	// 			    appId: data.appId, // 必填，公众号的唯一标识
	// 			    timestamp: data.timestamp, // 必填，生成签名的时间戳
	// 			    nonceStr: data.noncestr, // 必填，生成签名的随机串
	// 			    signature: data.signature,// 必填，签名，见附录1
	// 			    jsApiList: ['checkJsApi','onMenuShareAppMessage','onMenuShareTimeline', 'chooseImage', 'previewImage', 'uploadImage'] 
	// 			})
	//         },
	//         error: function (data) {
	//            if (XMLHttpRequest.status == 500) {
	//                var result = eval("(" + XMLHttpRequest.responseText + ")");
	//                $.weui.alert(result.jsonError.errorText);
	//            }
	//         	console.log(data);
	//         }
	//     });
			
	// 	wx.ready(function(){

	// 		var commonParams ={
	// 			link:window.location.href
	// 		}
	// 		//获取微信分享到朋友
	// 		wx.onMenuShareAppMessage({
	// 		    desc: txt, // 分享描述
	// 		    link: url, // 分享链接
	// 		    imgUrl: document.images[0].src, // 分享图标
	// 		    type: '', 
	// 		    dataUrl: '', 
	// 		    success: function () { 
	// 		    	// alert('用户分享给朋友成功');
	// 		    },
	// 		    cancel: function () { 

	// 		    }
	// 		});
			
	// 		//分享朋友圈
	// 		wx.onMenuShareTimeline({
	// 		    title: txt, // 分享标题
	// 		    link: url, // 分享链接
	// 		    imgUrl: document.images[0].src, // 分享图标
	// 		    success: function () { ;
	// 		        // alert('用户分享至朋友圈成功');
	// 		    },
	// 		    cancel: function () { 
	// 		        // 用户取消分享后执行的回调函数
	// 		    }
	// 		});		

	// 		$('.testpic').click(function(){				
	// 			wx.chooseImage({
	// 			    count: 1, // 默认9
	// 			    sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
	// 			    sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
	// 			    success: function (res) {
	// 					console.log(res);
	// 					wx.uploadImage({
	// 						localId: res.localIds[0], // 需要上传的图片的本地ID，由chooseImage接口获得
	// 						isShowProgressTips: 1, // 默认为1，显示进度提示
	// 						success: function (res) {
	// 							var serverId = res.serverId; // 返回图片的服务器端ID
	// 							alert('serverId:', serverId);
	// 							wx.downloadImage({
	// 								serverId: serverId, // 需要下载的图片的服务器端ID，由uploadImage接口获得
	// 								isShowProgressTips: 1, // 默认为1，显示进度提示
	// 								success: function (res) {
	// 									var localId = res.localId; // 返回图片下载后的本地ID
	// 									alert('localId:', localId);
	// 									untils.birPreview(localId);
	// 								}
	// 							});
	// 						}

	// 					});


	// 					//==================================================
	// 			    	// alert(res.localIds[0]);
	// 			    	// wx.getLocalImgData({
	// 					//     localId: res.localIds[0], // 图片的localID
	// 					//     success: function (get_res) {
	// 					//     	console.log(get_res);
	// 					//         var localData = get_res.localData; // localData是图片的base64数据，可以用img标签显示
	// 					// 		// 'data:image/jpg;base64,'+
	// 					// 		var ostype = untils.getOsType();
	// 					// 		alert(ostype);
	// 					// 		if (ostype == 'Android') {
	// 					// 			$('.testimg').attr('src', 'data:image/png;base64,' + localData);
	// 					// 			var base = new untils.Base64();
	// 					// 			var result = base.encode(localData); 
	// 					// 			untils.birPreview(result);
	// 					// 		} else if (ostype == 'iOS') {									
	// 					// 			$('.testimg').attr('src',localData);
	// 					// 			untils.birPreview(localData);
	// 					// 		}
	// 					//     },
	// 					//     fail:function(e_res){
	// 					//     	alert('显示失败！',e_res);
	// 					//     }
	// 					// });				   						
	// 			    }
	// 			});

	// 			// var img = document.createElement('img');
	// 			// img.src = './pic.png';
	// 			// img.onload = function () {
	// 			// 	var data = untils.getBase64Image(img);
	// 			// 	// console.log(data);
	// 			// 	data = data.replace('data:image/png;base64,', '');
	// 			// 	untils.birPreview(data);
	// 			// }

	// 			// untils.getBase64Image($('.testimg'));
	// 		})
			
	// 	});

	// 	wx.error(function(res){
	// 		console.log("验证失败："+res);
	// 	});
	// },

	//获取url参数
	getQueryString : function(name) { 
	    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
	    var r = window.location.search.substr(1).match(reg);   //返回要匹配的参数
	    return r?decodeURIComponent(r[2]):null;
	},

	isWeiXin : function (){ 
		var ua = window.navigator.userAgent.toLowerCase(); 
		if(ua.match(/MicroMessenger/i) == 'micromessenger'){ 
			return true; 
		}else{ 
			return false; 
		} 
	},
	// mobile detect
	getOsType: function () {
		var ua = navigator.userAgent || navigator.vendor || window.opera
		// Windows Phone must come first because its UA also contains "Android"
		if (/windows phone/i.test(ua)) {
			return 'Windows Phone'
		}
		if (/android/i.test(ua)) {
			return 'Android'
		}
		// iOS detection from: http://stackoverflow.com/a/9039885/177710
		if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {
			return 'iOS'
		}
		return 'unknown'
	},
	birPreview: function (ranId, tplid,callback) {
		// console.log(imgbase);
		var formData = new FormData($( "#takepicForm" )[0]);  
		// var formData = new FormData();
		// formData.append('file', $('#havepicFile')[0].files[0]);
		var preview_url = "http://activity.gzl.com.cn/v2/tmp/companyBirthday2017/preview?tplId="+ tplid + "&tmpUserId=" + ranId;
        $.ajax({
            url: preview_url,
            type: 'POST',
			data: formData,
	        dataType: "JSON",
	        cache:false,
			contentType: false,
			processData: false,
            success: function(data) {
				console.log('success',data); 
				
				callback(data);				               
            },
            beforeSend: function(){    
	            $('.uploadtipbox').show();    
	        },
            error: function(err_data) {
				console.log('err_data==',err_data);
				// alert('error:失败');
				callback(err_data);
            },
            complete: function(){    
	            $('.uploadtipbox').hide();
	        }  
        });
        
	},
	birBuild : function (ranId,sceneId,str,callback) {
		// var sceneId = 2;
		// var str="祝福广之旅";
		var build_url = "http://activity.gzl.com.cn/v2/tmp/companyBirthday2017/build?tmpUserId=" + ranId + "&sceneId="+ sceneId + "&blessing=" + encodeURIComponent(str);
		$.ajax({
			type: 'GET',
			url: build_url,
			accept: "application/json",
			contentType: "application/json",
			success: function (data) {
				console.log('success' + data);
				callback(data);  
			},
			error: function (err_data) {
				console.log('err_data==' + err_data);
				callback(err_data); 
				// alert('errorprev' + err_data.errorInfo);
			}
		});
	},
	getBase64Image : function (img) {
        var canvas = document.createElement("canvas");
        canvas.width = img.width;
        canvas.height = img.height;
        var ctx = canvas.getContext("2d");
        ctx.drawImage(img, 0, 0, img.width, img.height);
        var dataURL = canvas.toDataURL("image/png");
        return dataURL
         // return dataURL.replace("data:image/png;base64,", "");
	},
	Base64 : function () {

		// private property 
		_keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

		// public method for encoding 
		this.encode = function (input) {
			var output = "";
			var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
			var i = 0;
			input = _utf8_encode(input);
			while (i < input.length) {
				chr1 = input.charCodeAt(i++);
				chr2 = input.charCodeAt(i++);
				chr3 = input.charCodeAt(i++);
				enc1 = chr1 >> 2;
				enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
				enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
				enc4 = chr3 & 63;
				if (isNaN(chr2)) {
					enc3 = enc4 = 64;
				} else if (isNaN(chr3)) {
					enc4 = 64;
				}
				output = output +
					_keyStr.charAt(enc1) + _keyStr.charAt(enc2) +
					_keyStr.charAt(enc3) + _keyStr.charAt(enc4);
			}
			return output;
		}

		// public method for decoding 
		this.decode = function (input) {
			var output = "";
			var chr1, chr2, chr3;
			var enc1, enc2, enc3, enc4;
			var i = 0;
			input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
			while (i < input.length) {
				enc1 = _keyStr.indexOf(input.charAt(i++));
				enc2 = _keyStr.indexOf(input.charAt(i++));
				enc3 = _keyStr.indexOf(input.charAt(i++));
				enc4 = _keyStr.indexOf(input.charAt(i++));
				chr1 = (enc1 << 2) | (enc2 >> 4);
				chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
				chr3 = ((enc3 & 3) << 6) | enc4;
				output = output + String.fromCharCode(chr1);
				if (enc3 != 64) {
					output = output + String.fromCharCode(chr2);
				}
				if (enc4 != 64) {
					output = output + String.fromCharCode(chr3);
				}
			}
			output = _utf8_decode(output);
			return output;
		}

		// private method for UTF-8 encoding 
		_utf8_encode = function (string) {
			string = string.replace(/\r\n/g, "\n");
			var utftext = "";
			for (var n = 0; n < string.length; n++) {
				var c = string.charCodeAt(n);
				if (c < 128) {
					utftext += String.fromCharCode(c);
				} else if ((c > 127) && (c < 2048)) {
					utftext += String.fromCharCode((c >> 6) | 192);
					utftext += String.fromCharCode((c & 63) | 128);
				} else {
					utftext += String.fromCharCode((c >> 12) | 224);
					utftext += String.fromCharCode(((c >> 6) & 63) | 128);
					utftext += String.fromCharCode((c & 63) | 128);
				}

			}
			return utftext;
		}

		// private method for UTF-8 decoding 
		_utf8_decode = function (utftext) {
			var string = "";
			var i = 0;
			var c = c1 = c2 = 0;
			while (i < utftext.length) {
				c = utftext.charCodeAt(i);
				if (c < 128) {
					string += String.fromCharCode(c);
					i++;
				} else if ((c > 191) && (c < 224)) {
					c2 = utftext.charCodeAt(i + 1);
					string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
					i += 2;
				} else {
					c2 = utftext.charCodeAt(i + 1);
					c3 = utftext.charCodeAt(i + 2);
					string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
					i += 3;
				}
			}
			return string;
		} 
	}
}